/*
 * FrameGraficoTorta.cpp
 *
 *  Created on: 11/06/2012
 *      Author: sebastian
 */

#include "FrameGraficoTorta.h"
#include "Util.h"
#include <string>
#include "common.h"




FrameGraficoTorta::FrameGraficoTorta() {
	set_border_width(2);
	set_size_request(350,300);

}

FrameGraficoTorta::~FrameGraficoTorta() {
delete graf;
}

bool FrameGraficoTorta::mostrar() {
	graf->show();
}

void FrameGraficoTorta::setRespuesta(std::list<std::string> lineasRes) {
	std::list<std::string>::iterator it5;
	std::cout << "la lista es " << std::endl;
	for(it5 = lineasRes.begin(); it5 != lineasRes.end(); ++it5) {
		std::cout << "linea  "<< *it5 << std::endl;
	}
	std::list<std::string>::iterator it;
	graf = new GraficoTorta();		//  tengo que buscar una forma de q no pierda memoria
	for(it = lineasRes.begin(); it != lineasRes.end(); ++it) {
		std::vector<std::string> atribs;
		Auxiliar::parseLine(*it, atribs);

		std::cout << "mostrando atributos" << std::endl;
		std::vector<std::string>::iterator it6;
		for(it6 = atribs.begin(); it6 != atribs.end(); ++it6) {
			std::cout << "atributo  "<< *it6 << std::endl;
		}

		int pos;
		std::string nombre;
		Auxiliar::parseAtrib(atribs[0], nombre, pos);
		std::vector<std::string>::iterator it_atrib = atribs.begin();
		int i = 1;
		for(++it_atrib; it_atrib != atribs.end(); ++it_atrib, ++i) {
			std::string valor_string;
			int pos_valor;
			Auxiliar::parseAtrib(atribs[i], valor_string, pos_valor);
			if(Auxiliar::validarHecho(valor_string))
				graf->agregarValor(nombre, Auxiliar::stoi(valor_string));
		}
	}
	remove();
	add(*graf);
	graf->show();
}


/*
int main(int argc, char** argv) {
	Gtk::Main kit(argc, argv);
	FrameGraficoTorta frame;
	std::string s1("0#Gonzalo|800\n");
	std::string s2("0#Carlos|900\n");
	std::string s3("0#Lorena|1100\n");
	std::list<std::string> respuesta;
	respuesta.push_back(s1);
	respuesta.push_back(s2);
	respuesta.push_back(s3);
	*/
	/*graf.agregarValor("Gonzalo", 1000);
	graf.agregarValor("Pedro", 2000);
	graf.agregarValor("Nicolas", 1000);
	graf.agregarValor("Noelia", 1000);
	graf.agregarValor("Goeenzaleo2", 3000);
	graf.agregarValor("Po2", 2000);
*/
/*
	frame.setRespuesta(respuesta);
	Gtk::Window win;
	win.set_title("Grafico de Barras");
	win.add(frame);
	frame.show();
	Gtk::Main::run(win);
	return 0;
}
*/






